Data Replication পদ্ধতি

Database Tutorials - এইচ২ ডাটাবেস (H2 Database) H2 এর ক্লাস্টারিং এবং রিপ্লিকেশন |
251
251

Data Replication হল একটি প্রক্রিয়া যেখানে ডেটাবেজের তথ্য একাধিক সার্ভারে কপি বা রেপ্লিকেট করা হয়, যাতে তথ্যের সমন্বয় বজায় রাখা যায় এবং ডেটা অ্যাক্সেসের গতি বৃদ্ধি পায়। H2 ডেটাবেজে Data Replication সাধারণত ডেটাবেজের উচ্চ প্রাপ্যতা, ব্যাকআপ, এবং ফেইলওভার ব্যবস্থাপনা নিশ্চিত করার জন্য ব্যবহৃত হয়। Replication প্রক্রিয়া মূলত ডেটার কপি তৈরি করার জন্য ব্যবহৃত হয়, যাতে মূল ডেটাবেজে কোনো সমস্যা হলে অন্য সার্ভারে ডেটা অ্যাক্সেস করা সম্ভব হয়।


Data Replication এর সুবিধা

  • উচ্চ প্রাপ্যতা: যদি মূল ডেটাবেজে কোনো সমস্যা ঘটে (যেমন সার্ভার ডাউন), তখন অন্য রেপ্লিকা সার্ভার থেকে ডেটা অ্যাক্সেস করা যেতে পারে।
  • লোড ব্যালান্সিং: একাধিক সার্ভারের মধ্যে ডেটা ভাগ করে দিলে সার্ভার লোড কমে যায় এবং ডেটাবেজের কর্মক্ষমতা বৃদ্ধি পায়।
  • ডেটা সুরক্ষা: বিভিন্ন সার্ভারে ডেটা কপি হওয়ায় ডেটা হারানোর আশঙ্কা কমে যায়।
  • ফেইলওভার সাপোর্ট: যদি এক সার্ভারে ডেটাবেজ অ্যাক্সেস করা না যায়, তখন অন্য সার্ভারে ফেইলওভার চালিয়ে সিস্টেমে কোন বিঘ্ন না ঘটে।

H2 Database তে Data Replication এর প্রকারভেদ

H2 ডেটাবেজে দুই ধরনের ডেটা রেপ্লিকেশন পদ্ধতি থাকে:

  1. Master-Slave Replication (Primary-Secondary Replication)
  2. Multi-Master Replication

১. Master-Slave Replication (Primary-Secondary Replication)

Master-Slave Replication-এ, একটি ডেটাবেজ সার্ভার Master (Primary) হিসেবে কাজ করে, যেখানে সমস্ত লিখিত (write) অপারেশন হয়। অন্যদিকে, একটি বা একাধিক Slave (Secondary) সার্ভার Master সার্ভারের কপি রাখে এবং শুধু পড়ার (read) অপারেশন সম্পন্ন করে। যখন Master সার্ভারে কোনো ডেটা পরিবর্তন হয়, তখন তা স্বয়ংক্রিয়ভাবে Slave সার্ভারে সিঙ্ক্রোনাইজ হয়।

Master-Slave Replication এর বৈশিষ্ট্য:

  • ডেটা একক পয়েন্ট থেকে লেখার জন্য ব্যবহৃত হয়। Master সার্ভারে সব ধরনের লেখার কাজ (INSERT, UPDATE, DELETE) হয়।
  • Slave সার্ভারগুলি শুধু পড়ার জন্য ব্যবহৃত হয়। Slave সার্ভারে কেবল SELECT কুয়েরি চালানো হয়, যাতে মূল ডেটাবেজে অতিরিক্ত লোড না আসে।
  • সহজ সঠিকতা: এটি একে অপরের মধ্যে সহজ সিঙ্ক্রোনাইজেশন তৈরি করতে সাহায্য করে।
  • একটি বা একাধিক Slave সার্ভার ব্যবহার করা যেতে পারে।

Master-Slave Replication উদাহরণ:

ধরা যাক, আমাদের একটি products টেবিল আছে এবং আমরা Master-Slave Replication কনফিগার করতে চাই। Master সার্ভার থেকে Slave সার্ভারে তথ্য কপি করা হলে, Slave সার্ভার শুধু ডেটা পড়ে।

-- Master Server Replication Setup
CREATE TABLE products (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    price DECIMAL
);

-- Slave Server: Copying data from Master Server
-- Slave server will automatically sync changes from master.

এই পদ্ধতিতে, Slave সার্ভার শুধু SELECT কুয়েরি ব্যবহার করে ডেটা পড়তে সক্ষম।


২. Multi-Master Replication

Multi-Master Replication হল একটি উচ্চতর রেপ্লিকেশন পদ্ধতি যেখানে একাধিক সার্ভারে ডেটা লেখা এবং পড়া উভয়ই সম্ভব। এই পদ্ধতিতে, সমস্ত সার্ভার Master হিসেবে কাজ করে এবং সকল সার্ভারে ডেটা একে অপরের সাথে সিঙ্ক্রোনাইজ হয়। একাধিক সার্ভারে ডেটা পরিবর্তন হলে, সেগুলি স্বয়ংক্রিয়ভাবে অন্য সার্ভারগুলিতে প্রতিফলিত হয়।

Multi-Master Replication এর বৈশিষ্ট্য:

  • ডেটা একাধিক সার্ভারে লেখা হয়। প্রতিটি সার্ভারে লেখার অপারেশন (INSERT, UPDATE, DELETE) করা যেতে পারে।
  • উচ্চ লোড ব্যালান্সিং। যেহেতু সমস্ত সার্ভারই Master, সুতরাং, যে কোনও সার্ভার থেকে ডেটা অ্যাক্সেস করা যায় এবং একে অপরের সঙ্গে সিঙ্ক্রোনাইজ হয়।
  • বিভিন্ন অবস্থায় ডেটা আপডেট করা যায়। একাধিক সার্ভার থেকে ডেটা পরিবর্তন হতে পারে, যা রিপ্লিকেশন প্রক্রিয়ার মাধ্যমে সিঙ্ক্রোনাইজ হয়।

Multi-Master Replication উদাহরণ:

ধরা যাক, employees টেবিলের মধ্যে ডেটা সংশোধন করার জন্য আমাদের দুটি সার্ভার ব্যবহার হচ্ছে। একটি সার্ভারে ডেটা আপডেট হলে, তা অন্য সার্ভারে দ্রুত প্রতিফলিত হবে।

-- Server 1 (Master)
UPDATE employees SET salary = 5000 WHERE id = 101;

-- Server 2 (Master) - this update will also replicate from Server 1
UPDATE employees SET salary = 5000 WHERE id = 101;

এখানে, একাধিক সার্ভারে ডেটা পরিবর্তন হবে এবং তা একে অপরের সাথে সিঙ্ক্রোনাইজ হয়ে যাবে।


H2 Database তে Data Replication এর সেটআপ এবং কনফিগারেশন

H2 ডেটাবেজে Data Replication সেটআপ করতে কিছু নির্দিষ্ট কনফিগারেশন করতে হয়:

  1. Replicated Database URL
    H2 ডেটাবেজে replicated ডেটাবেজ URL ব্যবহার করে সার্ভারগুলির মধ্যে ডেটা সিঙ্ক্রোনাইজ করা হয়। Replication শুরু করার জন্য আপনি jdbc:h2:replicated URL ব্যবহার করতে পারেন।

    উদাহরণস্বরূপ:

    jdbc:h2:tcp://localhost/~/test;DB_CLOSE_DELAY=-1;AUTO_SERVER=TRUE
    
  2. Replicate Database Schema
    ডেটাবেজের সমস্ত স্কিমা এবং টেবিল যথাযথভাবে সিঙ্ক্রোনাইজ করতে REPLICATE কুয়েরি ব্যবহার করা যেতে পারে।

    উদাহরণ:

    REPLICATE FROM 'jdbc:h2:tcp://master_server/~/test';
    
  3. Failover Configuration
    ফেইলওভার কনফিগারেশন সেটআপ করে, যদি এক সার্ভার ডাউন হয়ে যায়, অন্য সার্ভার স্বয়ংক্রিয়ভাবে ডেটা অ্যাক্সেস চালিয়ে যাবে।

উপসংহার

H2 ডেটাবেজে Data Replication ব্যবহারের মাধ্যমে আপনি ডেটার উচ্চ প্রাপ্যতা, দ্রুত ডেটা অ্যাক্সেস এবং ব্যাকআপ ব্যবস্থাপনা নিশ্চিত করতে পারেন। Master-Slave Replication ছোট এবং মাঝারি সিস্টেমে কার্যকর, যেখানে এক সার্ভারে লেখা এবং অন্যান্য সার্ভারে পড়া হয়। অন্যদিকে, Multi-Master Replication বড় সিস্টেমের জন্য উপযুক্ত, যেখানে একাধিক সার্ভারে ডেটা লেখা এবং পড়া হয়। Data Replication ব্যবহারের মাধ্যমে ডেটাবেজের কর্মক্ষমতা, নিরাপত্তা এবং অ্যাক্সেস গতি বাড়ানো সম্ভব।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion